package com.zzl.bonds.ticket.dto.feign;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 签署人
 *
 * @author gull
 * @date 2022-06-23 11:06:51
 */
@Data
@TableName("cp_c_signer")
@ApidocModel
@SuppressWarnings("javadoc")
public class SignerEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.UUID)
    @ApidocModelProperty(description = "签署人id")
    private String id;
    @ApidocModelProperty(description = "电子合同id")
    private String contractId;
    @ApidocModelProperty(description = "印章id")
    private String sealId;
    @ApidocModelProperty(description = "签章颜色，1：红色；2：蓝色；3：黑色；默认为1（默认签章有效，客户自定义签章无效）")
    private Integer sealColor;
    @ApidocModelProperty(description = "经办人id")
    private String transactorId;
    @ApidocModelProperty(description = "安心签用户id")
    private String cfcaUserId;
    @ApidocModelProperty(description = "签署人姓名")
    private String signerName;
    @ApidocModelProperty(description = "证件类型编码:居民身份证	0护照	1企业营业执照	8港澳居民往来内地通行证	B台湾居民来往大陆通行证	C事业单位法人证书	H社会团体登记证书	J企业统一社会信用代码	N")
    private String identTypeCode;
    @ApidocModelProperty(description = "证件号码")
    private String identNo;
    @ApidocModelProperty(description = "邮箱(邮箱与手机号不能同时为空)")
    private String email;
    @ApidocModelProperty(description = "手机号(企业电子签章的负责人或者经办人的手机号)")
    private String mobilePhone;
    @ApidocModelProperty(description = "签署状态：未签署	0已签署	1已拒绝	2锁定待签	3（用户用本地证书签署时使用，本项目用不到）抄送	9")
    private Integer signmentState;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "签署时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date signTime;
    @ApidocModelProperty(description = "授权时间客户平台将采集到的用户输入验证码的时间发送给安心签，格式：yyyyMMddHHmmss")
    private String authorizationTime;
    @ApidocModelProperty(description = "授权地点:客户平台将采集到的用户IP或所在地发送给安心签")
    private String location;
    @ApidocModelProperty(description = "签名域的标签值,签署人可以签多个，以“;”分割")
    private String signLocation;
    @ApidocModelProperty(description = "项目编号，授权的编号不能重复，但一个编号可对应多个合同")
    private String projectCode;
    @ApidocModelProperty(description = "是否检查项目编号,0：不检查；1：检查；默认为0，需要校验项目编号的时候传送")
    private Integer isHeckProjectCode;
    @ApidocModelProperty(description = "是否代签,0：不代签；1：代签；默认为0。不代签的用户，可自行登录安心签使用自己的数字证书完成协议签署。")
    private Integer isProxySign;
    @ApidocModelProperty(description = "是否抄送，0：不抄送；1：抄送；默认为0如果抄送则isProxySign项无效")
    private Integer isCopy;
    @ApidocModelProperty(description = "是否删除：1 表示删除，0 表示未删除")
    @TableField(value = "is_deleted")
    @TableLogic(value = "0", delval = "1")
    private Integer deletedStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "创建时间", validate = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApidocModelProperty(description = "修改时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    @ApidocModelProperty(description = "部门id")
    private Integer orgId;
    @ApidocModelProperty(description = "创建人")
    private Integer creatorId;
    @ApidocModelProperty(description = "修改人")
    private Integer updaterId;
    @ApidocModelProperty(description = "备注")
    private String remark;
    @ApidocModelProperty(description = "用户id")
    private Integer userId;

}
